Ignition control device and method

ABSTRACT

An ignition controller has a revolution rate detector, a crankshaft angle detector, a computer, a first read/write memory device for the computed ignition angles for all cylinders, an ignition cycle overlap detector, a FIFO memory for storing a computed ignition angle and a copier for copying the angle from the first memory to the second depending on the degree of overlap. An ignition output device outputs the ignition angle for the next cylinder to be ignited and the corresponding charging time and charging starting angle.

FIELD OF THE INVENTION

The present invention relates to an ignition control device and acorresponding ignition control method.

Although it can be applied to any ignition control system, the presentinvention and its underlying principle are explained in relation to anengine control unit on board a motor vehicle.

BACKGROUND INFORMATION

Ignition control devices for controlling ignition events forignition-coil ignition systems and devices, generally have two controlfunctions: to control a desired ignition power via the ignition coilturn-on time, i.e., charging time, and to control the angle of anignition pulse via the ignition coil turn-off time, i.e., end of charge.

The ignition power supplied over the ignition coil charging time in coilignition systems varies in length depending on the vehicle electricalsupply voltage applied to the electric circuit of the coil as well asthe time constant of the electric circuit.

The respective setpoints are usually stored as a function of engine rpmand other possible engine parameters in the form of a characteristic mapin the control unit.

To output angle signals, customary control units have an angle sensorwheel that supplies equidistant-angle pulses to the ignition controldevice. Most ignition control device architectures, however, allow theignition events to be calculated only in segments, due to thecomputation time, with one segment equaling a 720° angle interval of thecrankshaft, divided by the number of cylinders, i.e., 180° in afour-cylinder engine, for example. While the angular positions of theignition events determined in the calculation can therefore be gaugedwith a sufficient degree of accuracy via the angle sensor wheel and theusual timer and counter circuits in ignition control devices, thecalculation itself is based on a detected rpm.

The cylinder-specific control quantities for ignition output aretherefore usually calculated once per ignition interval, i.e., segment,and synchronized with ignition output using a cylinder counter. Thismeans that a cylinder counter informs the ignition control device towhich cylinder it should send the next ignition signal to be triggered,which includes the start and end of the charge (i.e., ignition).

To calculate the ignition events, the angle/time characteristic for therotational movement of the internal combustion engine is focused, sincethe energy in the ignition system is defined over a specific chargingtime, and the charging time ends at a defined ignition angle position.Thus, we need to know the angle interval to which the charging timecorresponds after charging begins. To describe this angular movement, weneed to have information about engine rpm.

In most ignition control devices commonly used today for spark ignitionengines, this information is determined once per ignition interval at adefined speed measuring point with a fixed angular position in relationto the upper dead center of the next cylinder to be fired. With a longercharging time and/or higher speed, the start of the charging time movescloser to the angular position of the speed measuring point until thespeed measuring point finally coincides with the charge interval, andthe speed information from the previous segment is used for calculatingthe ignition event. This is known as overlapping ignition output.

Upon reaching overlap mode, the cylinder counter is corrected by anoffset. This means that the ignition events for an ignition intervalfollowing the current ignition interval are triggered as early as thecurrent ignition interval. If the ignition output determines, during thecurrent ignition interval, that charging of the current event actuallybegan in the past, the start of charging for the current cylinder istriggered immediately during the current ignition interval, and thestart of charging for the subsequent cylinder is triggered with a delay.It is precisely during this transition from non-overlap mode to overlapmode that many ignition output methods lack information about theignition angle and charging time of the subsequent cylinder, so that thevalues for the current cylinder are used for the ignition angle andcharging time of the subsequent cylinder.

More precise procedures calculate the setpoints of the subsequentcylinders along with the data of the current ignition interval, andbuffer this data for the transition to overlap mode. Up to now, however,there has been no clear, transparent system for showing the system user,for example the mechanic, which setpoints are used for ignition output.Furthermore, there is no standard, universally applicable method thatcould also be used by other output devices.

To explain the underlying principle, FIG. 2 shows a schematicrepresentation of the ignition sequence in a four-cylinder internalcombustion engine.

In FIG. 2, crank angle KW is plotted in degrees on the x-axis, ignitionZZ, which has the sequence . . . -2-1-3-4-2- . . . , is plotted on they-axis. A complete cycle equals 720° KW, with a cycle time t_(ZYK). Onesegment equals 720°KW/4=180°, with a segment time t_(SEG).

FIG. 3 shows a schematic representation of the ignition control functionsequences in the segment for the first cylinder of the four-cylinderinternal combustion engine, when applying ignition coil current I_(Z).

Rotation speed N is detected at 0°, and, immediately afterwards,charging time t_(L) and ignition angle W_(Z) (which are more or lessequal to the end-of-dwell angle and end-of-charge angle, respectively)are taken from a characteristic map or calculated at calculation time B.

Start-of-dwell or start-of-charge angle W_(LB) is then calculated fromthe following equation:

W_(LB)=W_(Z)−t_(L)×ω,

assuming a uniform movement, where ω is the angular velocitycorresponding to rotation speed N. Due to the computing time, this timeand angular position of the ignition events is calculated only once perignition interval.

To determine the start-of-charge angle, a counter C1 detects angleW_(LB) starting at 0°, via crankshaft sensor signal KWS, and activatesthe ignition coil output stage upon reaching angle W_(LB). A furthercounter C2 detects angle W_(Z) starting at 0° via crankshaft sensorsignal KWS, and discontinues activation upon reaching angle W_(Z).

In the overlap mode mentioned above, it is determined that the event tobe triggered by counter C1 lay in the past, and therefore the chargeshould begin immediately at 0°.

SUMMARY OF THE INVENTION

The ignition control device according to the present invention, and thecorresponding ignition control method, have an advantage over knownapproaches in that they provide a uniform, transparent procedure, whichcan be used universally on an engine control platform to control thetransmission of cylinder-specific control quantities to the ignitionoutput. If desired, the procedure can also be used concomitantly byother output devices, such as the injection output. The transmission ofvalues to the output device can be easily followed.

According to the idea underlying the present invention, the ignitionevents are managed in two memory blocks.

In a first memory block, which is designed as a simple array, theignition control device stores the ignition event setpoints for thecylinder that is moving toward its upper ignition dead center during thecurrent segment as well as for all subsequent cylinders.

Based on its internal states, the ignition output process determines thecurrently active degree of overlap and sets an overlap counter.

A second memory block is organized as a FIFO (first-in first-out) memory(shift register). With each ignition interval, the FIFO elements shiftdown one element. The overlap counter defines the element in the firstmemory block to be copied to the top element in the FIFO memory.

Instead of the usual arrangement according to the related art, theignition output receives the ignition angle not directly from the firstmemory block of the ignition control device, but from the ignition angleFIFO memory, which can be implemented as separate hardware or as a FIFOarea driven by the controller hardware independently of the CPU runtime.

The arrangement has the following special advantages. The transition toa higher degree of overlap takes into account cylinder-specificvariations in the ignition angle. The transmission of values iscontrolled via memory areas and not via temporary buffers. Knownapplication systems usually make memory areas visible, which means thatthe mechanic can easily follow the event calculation. In particular,this makes it possible to determine that the speed values are no longerup-to-date, which occurs during the transition to overlap mode, as wellas the respective tolerances. The on-chip hardware circuits commonlyused in microcontrollers make it possible to manage FIFO memorieswithout intervention by the CPU. The method can thus be carried outnearly without change in runtime. The array/FIFO mechanism can also beused by other output methods in which segment overlapping occurs, suchas injection output. The ignition angle array and overlap counter can beused to predict overlapping in a subsequent segment, thus avoidingerrors during the transition to overlap mode.

According to one preferred embodiment, a prediction device is providedto predict an overlap in the subsequent ignition cycle.

According to a further preferred embodiment, the ignition angle FIFOmemory is implemented by software in a read/write memory.

According to a further preferred embodiment, the copy device isimplemented by a burst mechanism in a microcontroller.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a time sequence chart to illustrate one embodiment of thepresent invention.

FIG. 2 shows a schematic representation of the ignition sequence in afour-cylinder internal combustion engine.

FIG. 3 shows a schematic representation of the ignition control functionsequences in the segment of the first cylinder of the four-cylinderinternal combustion engine.

DETAIL DESCRIPTION

In the figures, identical reference numbers identify identical elementsor elements with the same functions.

FIG. 1 shows a time sequence chart to illustrate one embodiment of thepresent invention.

In particular, FIG. 1 shows the timing for an ignition sequence for afour-cylinder internal combustion engine, i.e., with four segments of180° each, in which cylinder 1 undergoes an extreme knock retardationand in which torque builds up through ignition angle advance.

The four-cylinder internal combustion engine is operated by single-sparkignition based on coil ignition. As a result, the charge phase in theembodiment can begin up to three segments before the ignition signalsegment, since the ignition system could otherwise drop below a minimumopen time (without power supply). The maximum value of overlap counter Üis therefore 3, where Ü=0 means no overlap. The two memory devices,ignition angle memory array SP1 and ignition angle FIFO memory SP2, aretherefore each 4 elements deep, i.e., elements EL 0, 1, 2, 3.

The ignition control device detects rotation speeds N1, N2, N3, and N4,respectively, at the beginning of each segment, and then calculates, atB1, B2, B3, and B4, respectively, the ignition angles and charging timesas well as charge angles for ignition during the current segment, i.e.,ignition interval, and for ignition during the next three segments forthe subsequent cylinders.

In the past, the first cylinder to move toward the ignition dead centerhad a strong tendency to knock, and the ignition angle is therefore setto a retarded angle value of −10°. More advanced ignition angles of 5°each, which still occur much later than the optimum ignition angle, arecalculated for the three subsequent cylinders. In this case, a torquereduction could be requested in the first segment, for example, by theantijerking function. Because overlap counter Ü is still set to zerofrom the previous segment, retarded ignition angle −10° is copied to0^(th) element EL 0 of ignition angle FIFO memory SP2 for the firstcylinder. The input address is thus derived from the detected degree ofoverlap.

The ignition event is transferred from ignition angle FIFO memory SP2 tothe output logic of the ignition output in response to a correspondingquery, which, in the end, triggers the ignition signals. At the sametime, the ignition output receives the charging time from the componentcontroller. The ignition output compares the rotation speed derived fromspeed detector N1 to the charging time and determines that thestart-of-dwell angle for firing the first cylinder still belongs in thefirst segment. Overlap counter Ü therefore remains set to zero.

Following output, ignition angle FIFO memory SP2 is shifted down oneelement (in the OUT direction) at the beginning of the second segment.In the second segment, the ignition events, in turn, are calculated forthe current segment and subsequent segments. The setpoint ignition anglefor the current cylinder advances abruptly, since torque needs to bebuilt up again, for example, to ensure running smoothness (possiblyagain via the antijerking function as it attempts to prevent backwardoscillation of the engine).

The ignition output evaluates the speed information from second speeddetector N2 and the setpoint charging time and determines that the startof charging for the current firing action of the second cylinderactually occurred in the past, i.e., during the first segment. In thepresent example, the ignition output immediately decides to startcharging and to output the ignition angle precisely in the secondsegment. The ignition output simultaneously detects a simple overlapÜ=1.

When switching to this next higher overlap mode, both elements EL 0 andEL 1 of ignition angle memory array SP1 are be copied to ignition angleFIFO memory SP2. The memory logic (active intervention by the outputmethods is unnecessary) thus copies 0^(th) element EL 0 and firstelement EL 1 from ignition angle array SP1 to ignition angle FIFO memorySP2, directly calculating, from the latter value, a new start ofcharging, this time for the subsequent (third) cylinder.

After calling up speed detector N3, ignition angle FIFO memory SP2 isagain shifted down one element. Speed detection is always triggered by aseparate speed detecting device. Because the overlap counter is now setto value Ü=1, the automatic copy action, which is also triggered by thespeed detecting device, causes first element EL 1—15° in this case—ofignition angle array SP1 to be transferred to first element EL 1 ofignition angle FIFO memory SP2, and this element is transmitted to thecalculation procedure for the start of charging.

A similar procedure take place at the beginning of the fourth segment,where first element EL 1—10° in this case—of ignition angle array SP2 istransferred to first element EL 1 of ignition angle FIFO memory SP2, andthis element is transmitted to the calculation procedure for the startof charging.

Generally speaking, note that, during the transition to a higher overlapmode n, elements EL 0, EL 1, . . . EL n—i.e., the intermediate degreesof overlap-are copied once, after which only element EL n is copiedwithin same overlap mode n.

Conversely, during the transition to a lower overlap mode j, only theelements up to corresponding lower element EL j are copied. Thus, if thedegree of overlap in the above example changes from Ü=1 to Ü=0 duringthe transition from the fourth to the first cylinder, only the 0^(th)element of ignition angle FIFO memory SP2 is overwritten.

In applying the method described above, the output procedure musttherefore includes a calculating device for calculating the start ofcharging and a calculating device for calculating/outputting theignition angle. If the output method is implemented exclusively bysoftware, the corresponding calculation paths are clearly separated. Thestart-of-charge method receives an overlap counter and charging time.The start-of-charge method then accesses the array element addressed bythe overlap counter and uses it to check whether the degree of overlapis still valid. If the degree of overlap is too small, thestart-of-charge method triggers charging immediately and increment theoverlap counter. As a result, the memory logic immediately calls up thestart-of-charge calculation again, this time for a subsequent cylinderaccording to the new overlap counter value.

In one overlap segment, array element EL 1 would thus now be accessedand the output hardware preinitialized accordingly for the subsequentcylinder. However, entering the updated overlap counter into the memorylogic not only retriggers the start-of-charge calculation, but alsosimultaneously copies the first element of ignition angle array SP1 toignition angle FIFO memory SP2. Automatic memory transfers of this typeare possible in most cases, due to the bus controller burst mechanismspresent in modem microcontrollers (cf. PEC in the C 167 controller orPTS in the 80C197).

The next time the memory logic calls up the speed detector, ignitionangle FIFO memory SP2 is automatically shifted down one element. Theignition angle output always receives its setpoint via 0^(th) element EL0 in the ignition angle FIFO memory, so that the ignition anglecalculation does not require any further intelligence. Furthermore, thememory structures can also be implemented by software.

FIG. 1 further shows that the method described enables the transition tothe start of dwell in a previous segment to be forecast as early as theprevious segment. In this case, the subsequent value in the ignitionangle stack is interpreted as early as in the non-overlap mode and usedto calculate the start-of-dwell angle.

If the start of dwell for ignition in the subsequent segment does indeedlie in the current segment, the system can immediately switch to overlapmode. If it uses only two interrupts (one start-of-dwell interrupt andone ignition interrupt), widely differing ignition angles and dwelltimes could cause power to be applied to the subsequent cylinder beforepower is supplied to the current cylinder. If this is the case, thestart of dwell for the subsequent cylinder would have to be calculatedon an additional output channel simultaneously with the start of dwellfor the current cylinder (which would require a second start-of-dwellinterrupt). If an additional trigger unit/interrupt channel is notavailable, the overlap forecast mode is deactivated in the methoddescribed.

In summary, the chronological sequence of the above embodiment is asfollows:

Shift FIFO down.

Detect the degree of overlap based on the dwell time, rotation speed,possibly the speed dynamics, ignition angle array, and degree of overlapto that point in time.

Enter the value into the FIFO according to the detected degree ofoverlap, taking into account a possible change in the degree of overlap.

Read the 0^(th) FIFO element to the ignition output.

Although the present invention was described above on the basis ofpreferred embodiments, it is not limited to these embodiments, but canbe modified in many different ways.

In particular, the control mechanism for copying, i.e., outputting,memory can be implemented by hardware or software.

The method can also be applied to any number of cylinders.

What is claimed is:
 1. An ignition control device for controlling anignition coil device for an internal combustion engine, comprising: arotation speed detecting device for detecting an rpm of the internalcombustion engine at a detection time within an ignition cycle of afirst cylinder; an angle detecting device for detecting a current crankangle of the internal combustion engine; a calculating device forcalculating: a specified ignition angle, corresponding to a detectedrotation speed, of a next cylinder to be fired, and a specified ignitionangle, corresponding to the detected rotation speed, of a subsequentcylinder, a charging time corresponding to the next cylinder, a chargingtime corresponding to the subsequent cylinder, a start-of-charge anglecorresponding to the next cylinder, and a start-of-charge anglecorresponding to the subsequent cylinder, wherein the step ofcalculating is performed at a calculation time within a correspondingone of the ignition cycle of the first cylinder, an ignition cycle ofthe next cylinder, and an ignition cycle of the subsequent cylinder; afirst memory device including a read/write memory for storing eachcalculated specified ignition angle; an overlap detecting device fordetecting an overlap of the ignition cycle of the subsequent cylinder,using the ignition cycle of the next cylinder to be fired, and fordetermining a corresponding degree of overlap; a second memory deviceincluding a FIFO memory for storing the calculated specified ignitionangles; a copying device for copying one of the stored specifiedignition angles from the first memory device to the second memory deviceas a function of the degree of overlap; and an ignition output devicefor outputting the stored specified ignition angle of the next cylinderto be fired from the second memory device, and for outputting thecorresponding charging time and the corresponding start-of-charge angle.2. The ignition control device according to claim 1, further comprising:a forecasting device for forecasting the overlap in a subsequentignition cycle.
 3. The ignition control device according to claim 1,wherein: the FIFO memory is implemented by software in a secondread/write memory.
 4. The ignition control device according to claim 1,wherein: the copying device includes a burst mechanism in amicrocontroller.
 5. An ignition control method for controlling anignition coil device for an internal combustion engine, comprising thesteps of: detecting a rotation speed of the internal combustion engineat a detection time within an ignition cycle of a first cylinder;detecting a current crank angle of the internal combustion enginecalculating: a specified ignition angle, corresponding to a detectedrotation speed, of a next cylinder to be fired, and a specified ignitionangle, corresponding to the detected rotation speed, of a subsequentcylinder, a charging time corresponding to the next cylinder, a chargingtime corresponding to the subsequent cylinder, a start-of-charge anglecorresponding to the next cylinder, and a start-of-charge anglecorresponding to the subsequent cylinder, wherein the step ofcalculating is performed at a calculation time within a correspondingone of the ignition cycle of the first cylinder, an ignition cycle ofthe next cylinder, and an ignition cycle of the subsequent cylinder;storing each calculated specified ignition angle for each cylinder in afirst memory device including a read/write memory; detecting an overlapof the ignition cycle of the subsequent cylinder, with the ignitioncycle of the next cylinder to be fired, and defining a correspondingdegree of overlap; providing a second memory device including a FIFOmemory for storing the calculated specified ignition angles; copying oneof the stored specified ignition angles from the first memory device tothe second memory device as a function of the degree of overlap;outputting the stored specified ignition angle of the next cylinder tobe fired from the second memory device; and outputting the correspondingcharging time and the corresponding start-of-charge angle.